import axios from "axios"

// 获取当前定位城市
export const getCuiientCity = () => {
    // 存储本地数据
    const localCity = JSON.parse(localStorage.getItem('hkzf-city'))
    if (!localCity) {
        // 封装一个promise对象，用来返回异步操作的数据
        return new Promise((resolve, reject) => {
            // 如果没有本地存储数据
            // 通过IP地址获取到当前城市名称
            const curCity = new window.BMap.LocalCity()
            curCity.get(async res => {
                try {
                    // console.log('当前城市信息', res)
                    const result = await axios.get(`http://locationhost:8080/area/info?name=${res.name}`)
                    // this.setState({
                    //     curCityName: result.data.body.label
                    // })
                    //    存储到本地中
                    localStorage.setItem('hkzf-city', JSON.stringify(result.data.body))
                    // 获取定位城市成功的回调
                    resolve(result.data.body)
                } catch (e) {
                    // 获取定位城市失败
                    reject(e)
                }
            })
        })
    }
    // 因为此处的promise不会失败，所以此处只要返回一个成功的promise即可
    return Promise.resolve(localCity)
}